package com.zsrt.java.day20170102.lh.classics20;

import java.util.Scanner;

/*
*输入一个不大于5位的正整数，然后判断它是几位数，打印出各位数，并逆序输出这个整数。
*
*已知：
*	不大于5位的正整数
*求：
*	它是几位数，打印出各位数，并逆序输出这个整数
*
*思路：
*	1.判断是不是整数  ascii48~57
*	2.判断位数  x/10000>0 5位数  
*	3.存入数组 打印各位数
*
*
*/
public class Demo01 {
	
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		boolean temp=true;
		String st;
		
		//判断是不是数字
		do{
			System.out.println("输入一个不大于5位的正整数：");
			st=sc.next();
			for(int i=0;i<st.length();i++){
				if(st.charAt(i)>=48 && st.charAt(i)<=57){
					temp=false;
				}else{
					temp=true;
				}
			}
		}while(temp);
		
		int num=Integer.parseInt(st);
		
		if(num/10000>0){
			System.out.println("5位数");
			int a=num/10000;
			int b=num%10000/1000;
			int c=num%10000%1000/100;
			int d=num%10000%1000%100/10;
			int e=num%10000%1000%100%10;
			System.out.println("印出各位数:"+a+","+b+","+c+","+d+","+e);
			System.out.println("逆序打印这个数:"+e+","+d+","+c+","+b+","+a);
			
		}else if(num/1000>0){
			System.out.println("4位数");
			
			int b=num%10000/1000;
			int c=num%10000%1000/100;
			int d=num%10000%1000%100/10;
			int e=num%10000%1000%100%10;
			System.out.println("印出各位数:"+b+","+c+","+d+","+e);
			System.out.println("逆序打印这个数:"+e+","+d+","+c+","+b);
		}else if(num/100>0){
			System.out.println("3位数");
		
			int c=num%10000%1000/100;
			int d=num%10000%1000%100/10;
			int e=num%10000%1000%100%10;
			System.out.println("印出各位数:"+c+","+d+","+e);
			System.out.println("逆序打印这个数:"+e+","+d+","+c);
		}else if(num/10>0){
			System.out.println("2位数");
		
			int d=num%10000%1000%100/10;
			int e=num%10000%1000%100%10;
			System.out.println("印出各位数:"+d+","+e);
			System.out.println("逆序打印这个数:"+e+","+d);
		}else if(num/1>0){
			System.out.println("1位数");
			int e=num%10000%1000%100%10;
			System.out.println("印出各位数:"+e);
			System.out.println("逆序打印这个数:"+e);
		}
	}

}

